Dynamic hybrid vehicle system for adjusting motor rotary position

ABSTRACT

A computing device implemented method includes receiving one or more signals that represent an angular speed of a permanent magnet electric motor of a hybrid electric vehicle, the one or more signals being provided by an angular sensor connected to the electric motor, receiving a signal representing a voltage from the electric motor, the voltage being a direct axis voltage component of a three-phase motor model, determining if the angular speed is within a predetermined threshold, calculating an error angle representing a correction factor for an alignment of the electric motor based on a ratio of the voltage and the angular speed, storing the correction factor, and determining a binary indication of a status of error angle, and repeating the steps until the binary indication is positive.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of, and claims priorityunder 35 USC 120 to, to U.S. application Ser. No. 15/949,571, filed onApr. 10, 2018, now U.S. Pat. No. 10,118,607.

BACKGROUND

This description relates to techniques for controlling position errorcalculation of a motor shaft rotating without any current command to themotor.

With the increased interest in reducing dependency on fossil fuels, theuse of alternative energy sources has been incorporated into variousapplications such as transportation. Both public and privatetransportation vehicles have been developed to run on a fuel other thantraditional petroleum based fuels (i.e., petrol, diesel, etc.). Somevehicles solely use alternative energy sources while others combine thefunctionality of petroleum based systems with alternative energy basedsystems (e.g., electrical, biofuel, natural gas, etc.). Along with beingpotentially more cost-effective and having more abundant resources, suchalternative energy sources and their byproducts are considered to bemore environmentally friendly.

SUMMARY

When manufacturing a permanent magnet variable speed electric motor,proper motor control requires precise knowledge of the specific positionof the motor rotor magnetic poles as it spins relative to the statorphase windings with rotation driven by an attached inverter.Conventional control techniques use a rotating position sensor on therotor shaft to provide this information. However, any smallcircumferential shift of the position sensor from the specifiedmanufacture position will result in errors in system control andtherefore performance degradation of the vehicle using that motor. Tocompensate for any inconsistency in sensor placement, some users performa physical measurement on each motor assembled manually and input anypermanent angular error offset to the software monitoring andcontrolling the motor. However, this procedure is expensive as it needsto be performed for each individual motor to a high degree of precision(e.g., to a fraction of a degree offset) to obtain a useful calibration.Other control strategies include sensorless control (e.g., algorithmsthat do not use any position sensor), or simple neglect of the offset inthe vehicle control.

The systems and techniques described here relate to performingmeasurements to estimate the offset and calculating a calibration factorto compensate for the offset from the ideal position of a positionsensor (or matched pair of position sensors called a resolver) of aninstalled inverter-motor system. This methodology can be implementedafter connecting the inverter to the motor. The methodology determines acalibration factor that is used from then on (until the system ismodified) when the motor is spun and stores the calculated offset inmemory in the inverter. This capability is primarily applicable tohybrid vehicle applications where the motor does not have to provideelectric launch capability. This calibration can also be performed in apurely electric system once the motor is at speed by letting it coastdown.

A computing device implemented method includes receiving one or moresignals that represent an angular speed of a permanent magnet electricmotor of a hybrid electric vehicle, the one or more signals beingprovided by an angular sensor connected to the electric motor, receivinga signal representing a voltage from the electric motor, the voltagebeing a direct axis voltage component of a three-phase motor model,determining if the angular speed is within a predetermined threshold,calculating an error angle representing a correction factor for analignment of the electric motor based on a ratio of the voltage and theangular speed, storing the correction factor, and determining a binaryindication of a status of error angle, and repeating the steps until thebinary indication is positive.

In some implementations, the signals are received with zero currentsupplied to the electric motor and a motion of the vehicle is suppliedby an internal combustion engine. Current is not supplied to theelectric motor when the binary indication is negative and current issupplied to the electric motor only when the binary indication ispositive. The correction angle is calculated using an averaged ratio ofthe voltage and the angular speed over more than one rotation of theelectric motor. The correction angle is calculated using a number ofpole pairs and a flux linkage of the electric motor. The correctionangle is calculated using a ratio of the averaged ratio with the polepairs and flux linkage. Determining if the angular speed is within apredetermined threshold comprises determining if a lower level of thethreshold has been reached. The signals representing an angular speedare received from a position sensor on the electric motor. Receiving theone or more signals that represent the angular speed of the motor isimplemented by receiving a trigger signal sent to a performance managerof the vehicle. The trigger signal is sent to a performance manager ofthe vehicle from a remote location. The trigger signal is from a remotelocation when a performance parameter of the vehicle is determined to beoutside of acceptable operation. Measuring the angular speed comprisesmonitoring a rotor position of the electric motor.

In some aspects, one or more computer readable storage devices storinginstructions that are executable by a processing device, and upon suchexecution cause the processing device to perform operations includingreceiving one or more signals that represent an angular speed of apermanent magnet electric motor of a hybrid electric vehicle, the one ormore signals being provided by an angular sensor connected to theelectric motor, receiving a signal representing a voltage from theelectric motor, the voltage being a direct axis voltage component of athree-phase motor model, determining if the angular speed is within apredetermined threshold, calculating an error angle representing acorrection factor for an alignment of the electric motor based on aratio of the voltage and the angular speed, storing the correctionfactor, and determining a binary indication of a status of error angle,and repeating the steps until the binary indication is positive.

In some implementations, the signals are received with zero currentsupplied to the electric motor and a motion of the vehicle is suppliedby an internal combustion engine. Current is not supplied to theelectric motor when the binary indication is negative and current issupplied to the electric motor only when the binary indication ispositive. The correction angle is calculated using an averaged ratio ofthe voltage and the angular speed over more than one rotation of theelectric motor. The correction angle is calculated using a number ofpole pairs and a flux linkage of the electric motor. The correctionangle is calculated using a ratio of the averaged ratio with the polepairs and flux linkage. Determining if the angular speed is within apredetermined threshold comprises determining if a lower level of thethreshold has been reached. The signals representing an angular speedare received from a position sensor on the electric motor. Receiving theone or more signals that represent the angular speed of the motor isimplemented by receiving a trigger signal sent to a performance managerof the vehicle. The trigger signal is sent to a performance manager ofthe vehicle from a remote location. The trigger signal is from a remotelocation when a performance parameter of the vehicle is determined to beoutside of acceptable operation. Measuring the angular speed comprisesmonitoring a rotor position of the electric motor.

In some aspects, a system comprises a computing device comprising amemory configured to store instructions and a processor to execute theinstructions to perform instructions comprising receiving one or moresignals that represent an angular speed of a permanent magnet electricmotor of a hybrid electric vehicle, the one or more signals beingprovided by an angular sensor connected to the electric motor, receivinga signal representing a voltage from the electric motor, the voltagebeing a direct axis voltage component of a three-phase motor model,determining if the angular speed is within a predetermined threshold,calculating an error angle representing a correction factor for analignment of the electric motor based on a ratio of the voltage and theangular speed, storing the correction factor, and determining a binaryindication of a status of error angle, and repeating the steps until thebinary indication is positive.

In some implementations, the signals are received with zero currentsupplied to the electric motor and a motion of the vehicle is suppliedby an internal combustion engine. Current is not supplied to theelectric motor when the binary indication is negative and current issupplied to the electric motor only when the binary indication ispositive. The correction angle is calculated using an averaged ratio ofthe voltage and the angular speed over more than one rotation of theelectric motor. The correction angle is calculated using a number ofpole pairs and a flux linkage of the electric motor. The correctionangle is calculated using a ratio of the averaged ratio with the polepairs and flux linkage. Determining if the angular speed is within apredetermined threshold comprises determining if a lower level of thethreshold has been reached. The signals representing an angular speedare received from a position sensor on the electric motor. Receiving theone or more signals that represent the angular speed of the motor isimplemented by receiving a trigger signal sent to a performance managerof the vehicle. The trigger signal is sent to a performance manager ofthe vehicle from a remote location. The trigger signal is from a remotelocation when a performance parameter of the vehicle is determined to beoutside of acceptable operation. Measuring the angular speed comprisesmonitoring a rotor position of the electric motor.

These and other aspects and features and various combinations of themmay be expressed as methods, apparatus, systems, means for performingfunctions, program products, and in other ways.

Other features and advantages will be apparent from the description andthe claims.

DESCRIPTION OF DRAWINGS

FIG. 1 illustrates a vehicle that includes a vehicle informationmanager.

FIG. 2 illustrates a network-based vehicle analyzer for processing datafor various electric vehicles.

FIG. 3 illustrates portions of a vehicle performance manager included ina vehicle for controlling the transmission of information associatedwith a vehicle.

FIG. 4 illustrates a flowchart of operations of a vehicle performancemanager capable of calculating a calibration factor for an electricmotor installed in a vehicle.

FIG. 5 illustrates a flowchart representative of operations of a vehicleperformance manager.

FIG. 6 illustrates an example of a computing device and a mobilecomputing device that can be used to implement the techniques describedhere.

DETAILED DESCRIPTION

The systems and techniques described here relate to performingmeasurements to estimate an offset and calculating a calibration factorto compensate for the offset from the ideal position of a positionsensor (or matched pair of sensors called a resolver) of an installedinverter-motor system. This technique can be implemented afterconnecting the inverter to the motor. The technique determines acalibration factor that is used from then on (until the system ismodified) when the motor is spun and stores the calculated offset inmemory in the inverter. This capability is primarily applicable tohybrid vehicle applications where the motor does not have to provideelectric launch capability. This calibration can also be performed in apurely electric system once the motor is at speed by letting it coastdown.

Referring to FIG. 1, alternative fuel vehicles may solely rely uponnon-petroleum energy sources, such as electricity, natural gas, biofuelsetc. Rather than sole reliance on such energy sources, alternative fuelvehicles may also rely partially on an internal combustion engine alongwith one or more alternative energy sources. For example, a vehicle(referred to as a hybrid vehicle) may use two or more distinct powersources, such as an electric motor, an internal combustion engine, andan energy storage device (referred to as a hybrid electric vehicle (HEV)using rechargeable batteries). Some hybrid vehicles (referred to asplug-in hybrid electric vehicles (PHEV)) may operate by using energystorage devices that can be replenished by off-board energy sources. Forelectrical energy storage devices, in some arrangements, one or moretechniques may be implemented for charging and recharging the devices.For example, batteries may be charged through regenerative braking,strategic charging techniques, etc. during appropriate operating periodsof the vehicle. In general, while energy is typically lost as heat inconventional braking systems, a regenerative braking system may recoverthis energy by using an electric generator to assist braking operations.Some systems and techniques may also strategically collect (e.g., drainenergy from the combustion engine during periods of efficient operation(e.g., coasting, traveling, etc.)) and later assist the engine duringperiods of lesser efficiency. For such vehicles, the electric generatorcan be a device separate from the electric motor, considered as a secondoperating mode of the electric motor, or implemented through one or moreother techniques, individually or in combination. Energy recovered byregenerative braking may be considered insufficient to provide the powerneeded by the vehicle. To counteract this lack of energy, the electricmotor may be engaged during defined periods to assist the combustionengine. One or more control strategies may be used to determine thesetime periods. Similarly, periods of time may also be determined toengage regenerative braking and strategic charging in order to replenishenergy storage. Other operations of the vehicle (e.g., accelerate,decelerate, gear changes, etc.) may also be defined for the controlstrategies. By developing such strategies to control the assistanceprovided to combustion engines (during low efficiency periods), energymay be conserved without negatively impacting vehicle performance.

In vehicles that are converted to a HEV, vehicle performance isincreased if any rotor position offset in the installed electric motoris known by its associated inverter. To produce the same amount oftorque with a non-zero offset error, additional current is requiredwhich results in additional losses and energy used. For a permanentmagnet (PM) motor, torque is proportional to the product of current andthe cosine of offset error, so the torque assistance lost isproportional to the cosine of the offset error. The percent ofadditional losses is the cosine of the inverse of the offset errorsquared. In a motor with ten pole pairs, 1 mechanical degree errorresults in is 3% increase in losses, and 2 mechanical degree error leadsto a 13% increase in losses. Losses in the inverter and energy storagealso increase in addition to losses in the electric motor.

Some vehicle manufacturers may recommend operations and controlstrategies for entire classes of vehicles or other types of largevehicle groups (e.g., same model vehicles, same vehicle line, etc.) atparticular times (e.g., at the release of the vehicle line). Similarly,the level of assistance provided by an electric motor or other type ofalternative fuel system may be a constant. One or more techniques may beimplemented to improve recommended operations and control strategies.For example, vehicle performance may be measured to quantifyimprovements. Fuel efficiency (e.g., miles-per-gallon achieved by thevehicle), fuel consumption (e.g., fuel gallons consumed per hour), andother types of performance measures may be developed and reportnoticeable to considerable improvement. Once analyzed, the improvementsmay be incorporated into recommended operations and control strategies.For example, the retrieved data might report that energy provided by thealternative fuel during higher speed operation does not reduce fuelconsumption as effectively as fuel consumption reduction experienced atlower speeds.

As illustrated in the figure, an example vehicle 100 (e.g., a hybridautomobile) is able to collect and process performance informationrelated to vehicle performance, especially with respect to fuel economy.From the collected and analyzed performance information, operations ofthe vehicle may be adjusted to improve performance (e.g., operations ofits alternative fuel system such as an electric motor). To provide thiscapability, the vehicle includes a performance manager 102 (hereembedded in the dashboard of the vehicle 100) that may be implemented inhardware (e.g., a controller 104), software (e.g., executableinstructions residing on a computing device contained in the vehicle), acombination of hardware and software, etc. In some arrangements, theperformance manager 102 may operate in a generally autonomous manner,however, information from one or more users (e.g., identification of thevehicle operators) may be collected for operations of the performancemanager 102. To collect performance information of the vehicle, data maybe collected from one or a variety of inputs. For example, theperformance manager 102 may communicate with one or more portions of thevehicle. One or more sensors, components, processing units, etc. of thevehicle may exchange data with the performance manager 102. For example,operational information of the vehicle such as speed, acceleration, etc.may be collected over time (e.g., as the vehicle operates) and providedto the performance manager 102. Other operational information may alsobe provided from the vehicle; for example, data representing braking,steering, etc. may also be provided to the performance manager 102.Vehicle components that provide information to the performance manager102 may also include interface modules, circuitry, etc. for controllingthe operations of the combustion engine, the electrical motor, etc.

In some situations, data from sources other than the vehicle may also becollected. For example, user input may be provided. In this arrangement,the vehicle 100 includes an electronic display 106 that has beenincorporated into its dashboard to present information such asselectable entries regarding different topics (e.g., operator ID,planned vehicle operations, trip destination, etc.). Upon selection,representative information may be gathered and provided to theperformance manager 102. To interact with the electronic display 106, aknob 108 illustrates a potential control device; however, one or moreother types of devices may be used for user interaction (e.g., a touchscreen display, etc.). Similar to using one or more sensors to collectoperational data, other types of information may also be gathered; forexample, a sensor 110 (here embedded in the dashboard of the vehicle100) may collect information such as cabin temperature, location of thevehicle (e.g., the sensor being a component of a global positioningsystem (GPS)) and other types of information. By collecting informationsuch as GPS location, additional information may be provided to theperformance manager 102 (e.g., location and destination information)which may be used for quantifying vehicle performance. In somearrangements, information from other vehicles may be used by theperformance manager 102. For example, data may be collected from a fleetof vehicles (e.g., similar or dissimilar to the vehicle 100) and used toquantify performance (e.g., based on similarly traveled routes).

Multiple additional sensors may be located internally or externally tothe vehicle for collecting information. For example, an electric motor120 and associated inverter 122 installed as part of the powertrain ofthe vehicle 100 can have one or more sensors 124, 126 that provideinformation about the electric motor 120 and inverter 122. One or moredevices present in the vehicle 100 may also be used for informationcollection; for example, handheld devices (e.g., a smart phone 112,etc.) may collect and provide information (e.g., location information,identify individuals present in the vehicle such as vehicle operators,etc.) for use by the performance manager 102 (e.g., identify drivingcharacteristics of a vehicle operator). Similarly, portions of thevehicle itself (e.g., vehicle components) may collect information forthe performance manager 102; for example, one or more of the seats ofthe vehicle 100 (e.g., driver seat 114) may collect information (e.g.,position of the seat to estimate the driver's height) that is then beingprovided to the performance manager 102. Processed data may also beprovided; for example, gathered information may be processed by one ormore computing devices (e.g., controllers) before being provided to theperformance manager 102.

In general, the collected operational information (vehicle speed,acceleration, etc.) can be used for defining vehicle operationalsituations. For example, the vehicle may operate over ranges of speeds,accelerations, etc., based on the operational environment. For highways,remote rural settings, etc. the vehicle may be driven at relatively highspeeds for long periods of time. Alternatively, in a busy urban setting,the vehicle may be operated over a larger range of speeds (e.g., slowspeeds due to congested traffic) for relatively short periods of time.Strategies may be developed for controlling the alternative fuel systemof a hybrid vehicle (e.g., an electric motor) to assist the combustionengine of the vehicle to improve overall performance.

In some arrangements, along with collecting information at the vehicle,remotely located information sources may be accessed by the vehicle.Similarly, some or all of the functionality of the performance manager102 may be provided from a remote location. While residing onboard thevehicle 100 in the illustrated figure, in some arrangements, theperformance manager 102 or a portion of the performance manager may belocated and executed at one or more other locations. In such situations,the vehicle 100 may be provided assistance from a remotely locatedperformance manager by using one or more communication techniques andmethodologies. For example, one or more wireless communicationtechniques (e.g., radio frequency, infrared, etc.) may be utilized thatcall upon one or more protocols and/or standards (e.g., the IEEE 802.11family of standards such as Wi-Fi, the International MobileTelecommunications-2000 (IMT-2000) specifications such as 3rd generationmobile telecommunications (3G), 4th generation cellular wirelessstandards (4G), wireless technology standards for exchanging data overrelatively short distances such as Bluetooth, etc.).

Referring to FIG. 2, an information exchanging environment 200 ispresented that allows information to be provided to a central locationfor analyzing vehicle performance, such as potential improvementsthrough use of alternative fuel vehicles such as hybrid vehicles. Insome arrangements, the information is collected from individual vehiclesor other information sources for the performance analysis. One or moretechniques and methodologies may be implemented for providing suchinformation to the vehicles. For example, one or more communicationtechniques and network architectures may be used for exchanginginformation. In the illustrated example a vehicle information manager202 communicates through a network 204 (e.g., the Internet, an intranet,a combination of networks, etc.) to exchange information with acollection of vehicles (e.g., a small fleet of supply trucks 206, 208,210, and an automobile 212). For comparative analysis, one or more ofthe vehicles may operate with an alternative fuel system (e.g., thesupply truck 206 is a hybrid).

In some arrangements, the network architecture 204 may be considered asincluding one or more of the vehicles. For example, vehicles may includeequipment for providing one or more network nodes (e.g., supply truck208 functions as a node for exchanging information between the supplytruck 210 and the network 204). As such, the information exchangingcapability may include the vehicles exchanging information with thevehicle information manager 202 and other potential network components(e.g., other vehicles, etc.).

One or more technologies may be used for exchanging information amongthe vehicle information manager 202, the network 204 (or networks) andthe collection of vehicles. For example, wireless technology (capable oftwo-way communication) may be incorporated into the vehicles forexchanging information with the vehicle information manager 202. Alongwith providing and collecting information from the vehicles, the vehicleinformation manger 202 may be capable of processing information (e.g.,in concert with a performance analyzer 214 to quantify vehicleperformance, compare vehicle performance, etc.) and executing relatedoperations (e.g., store collected and processed information). In somearrangements, the vehicle information manager 202 may operate as asingle entity; however, operations may be distributed among variousentities to provide the functionality. In some arrangements, somefunctionality (e.g., operations of the performance analyzer 214) may beconsidered a service, rather than a product, and may be attained byentering into a relationship with the vehicle information manager 202(e.g., purchase a subscription, enter into a contractual agreement,etc.). As such, the vehicle information manager 202 may be considered asbeing implemented as a cloud computing architecture in which itsfunctionality is perceived by users (e.g., vehicle operators, businessoperators, vehicle designers and manufacturers, etc.) as a servicerather than a product. For such arrangements, users may be providedinformation (e.g., vehicle performance, comparative performances,control strategies, etc.) from one or more shared resources (e.g.,hardware, software, etc.) used by the vehicle information manager 202.For service compensation, one or more techniques may be utilized; forexample, subscription plans for various time periods may be implemented(e.g., a time period for measuring the performance of a current fleet ofvehicles along with candidate hybrid vehicles to demonstrate potentialperformance gains).

Similar to an onboard assistance manager (e.g., the performance manager102 of FIG. 1), an off-vehicle performance analyzer (e.g., theperformance analyzer 214) may use information from a vehicle (e.g.,collected performance data, distributions of data, etc.) to determineone or more performance metrics of the vehicle, comparison metrics, etc.

Along with information being provided by one or more vehicles (e.g.,received onboard, received through the network 204, etc.), the vehicleinformation manager 202 may utilize data from other sources forperformance analysis, etc. For example, information sources 216 externalto the vehicle information manager 202 may provide vehicle relatedinformation (e.g., manufacturer recommendations for performance, vehicleload conditions, etc.), environmental information (e.g., current roadconditions where the vehicle is operating, traffic conditions,topographical information, weather conditions and forecasts, etc.). Insome arrangements, the information sources 216 may be in directcommunication with the vehicle information manager 202; however, othercommunication techniques may also be implemented (e.g., information fromthe information sources 216 may be provided through one or more networkssuch as network 204).

In the illustrated example, to provide such functionality, the vehicleinformation manager 202 includes a server 218 that is capable of beingprovided information by the network 204 and the information sources 216.Additionally, the server 218 is illustrated as being in directcommunication with a storage device 220 that is located at the vehicleinformation manager 202 (however, remotely located storage may beaccessed by the server 218). In this example the functionality of theperformance analyzer 214 is located off-board a vehicle while thefunctionality of the performance manager 102 (shown in FIG. 1) islocated on-board the vehicle. In some examples, some functionality ofthe performance analyzer 214 and the performance manager 102 may beexecuted at other locations, distributed across multiple locations, etc.In one arrangement, a portion of the functionality of the performanceanalyzer 214 may be executed on-board a vehicle or a portion of theperformance manager 102 may executed at the vehicle information manager202. Information provided by one or more of the sources (e.g., thevehicles, information sources 216, etc.), performance metrics andcomparisons may be developed by the performance analyzer 214. Forexample, one or more metrics may be determined that provides a measureof fuel economy of each vehicle, metrics that represent comparisonbetween vehicles (e.g., fuel saving of a hybrid vehicle compared to acombustion engine vehicle). Along with determining such metrics andcomparisons, functionality of the performance analyzer 214 mayappropriately manage collected data, distributions, determinedperformance and comparison metrics, etc. for delivery (e.g., to servicesubscribers, entities, vehicles, etc.). For example, one or moredatabase systems, data management architectures and communicationschemes may be utilized by the performance analyzer 214 for informationdistribution. In some arrangements, such distribution functionality maybe provided partially or fully by the performance analyzer 214 orexternal to the performance analyzer. In some arrangements thisdistributed functionality may be provided by other portions of thevehicle information manager 202 or provided by another entity separatefrom the vehicle information manager 202 for distributing metrics and/orother types of performance and/or comparison based information. Further,while a single server (e.g., server 218) is implemented in thisarrangement to provide the functionality for the vehicle informationmanager 202, additional servers or other types of computing devices maybe used to provide the functionality. For example, operations of theperformance analyzer 214 may be distributed among multiple computingdevices in one or more locations.

Upon one or more metrics (e.g., performance, comparison, etc.) beingproduced, one or more operations may be executed to provide appropriateinformation, for example, to one or more entities, vehicles, etc. Byemploying one or more data transition techniques information may bedelivered through the network 204 along with other types ofcommunication systems. In some arrangements one or more trigger eventsmay initiate the information being sent. For example, upon one or moremessages, signals, etc. being received at the vehicle informationmanager 202 (e.g., a request for particular performance information isreceived), data representing the requested performance information maybe provided.

Referring to FIG. 3, one of the vehicles presented in FIG. 2 (i.e.,truck 210) illustrates potential components included in the vehicleperformance manager 102, which may be implemented in hardware, software,a combination of hardware and software, etc. One included component forthis arrangement 310 is a data collector 300 that is capable ofinterfacing various components of the vehicle to collect vehicle-relatedinformation such as operational parameters, e.g., from sensors 110, 124,126. Additionally, the vehicle data collector 300 may be capable ofcollecting information from other sources external to the vehicle. Alsoincluded is a transceiver 302 that is capable of transmittinginformation from the vehicle to one or more locations (e.g., the vehicleinformation manager 202). While the transceiver 302 is also capable ofreceiving information (e.g., from the vehicle information manager 202),in some arrangements such a capability may be absent (thereby onlyallowing for transmission of information).

The vehicle performance manager 102 may implement one or more techniquesto improve the efficiency of truck 210, for example, monitoring speed,acceleration, deceleration, fuel consumption, etc. This monitoring canbe done by sensors which are part of data collector 300, for example,sensor 124 that can be configured to detect the displacement of themotor's rotor relative to its stationary inverter. To assist theoperations of the vehicle performance manager 102, the transceiver 302,and the data collector 300, one or more data storage techniques may beemployed. As illustrated, one or more storage devices (e.g., memorycomponents, hard drives, etc.) such as storage device 306 may beincluded in the performance manager 102. The storage device 306 couldalso be a one or more types of software structures. In addition toassisting with the operations of the vehicle performance managercomponents, the storage device 306 may also be considered as providing adata store for information such as operational parameters (collectedduring the operation of the vehicle or initial set up of the electricmotor and inverter within the vehicle) that can be later accessed. Forexample, after traveling its route, collected data may retrieved fromthe storage device 306 (e.g., by the vehicle owner, the vehicleinformation manager 202, etc.) for analysis to quantify performance, tocompare performance with other vehicles, etc.

The vehicle performance manager 102 can implement an engine offsetcalibration in truck 210 that has a permanent magnet motor as theelectric motor 120. A permanent magnet rotor of typical constructionincludes a rotor that revolves relative to a stator that has statorwindings and an embedded permanent magnet. One theory of permanentmagnet motors describes the motor as having a direct axis (or d axis)and quadrature axis (or q axis), resolving the motor's magnetomotiveforce into two mutually orthogonal single-phase components for athree-phase motor. One component is located along the axis of the rotorpermanent magnetic poles (the axis by which flux is produced by thewinding of the motor). This component is known as the direct axis or daxis component. The other component is located orthogonal to this axisand is the axis on which torque is produced, known as the quadratureaxis or q axis component.

Normally voltage on the d axis (Vd) is zero when a permanent magnetrotor is spun unloaded (i.e., with no current through the windings). Thevoltage that appears is a result of the rotor's magnetic field (thebackemf voltage) from the magnets moving relative to the stator coilsand appears entirely on the q axis (Vq).

Referring briefly back to FIG. 1, this theory of d axis and q axis canbe applied to the electric motor 120 with a sensor 124 that is aposition sensor that detects the position of the rotor of the motor(also called a resolver) and a sensor 126 that detects voltage. Theelectric motor 120 in truck 210 can be rotated without power applied toit, which should result in a Vd of zero. Any non-zero voltage indicatesthere is error in position of the sensor 124. The vehicle performancemanager 102 therefore measures motor speed (rpm) using the sensor 124and also measures Vd using a voltage sensor 126. The rotor shaft of theelectric motor 120 will turn although no current is applied to it whenthe combustion engine causes the car and the wheels to move, turning theshaft of the electric motor. The measured ratio of Vd/rpm of theelectric motor is minimized to minimize position error.

When there is a static angle error in the position of sensor 124, aproportion of the backemf that should only be appearing on the q axis asVq will instead appear on Vd according to:Vd=electrical-frequency*PM_Flux_Linkage*sin(angle_error).  (1)

Here Vd is the measured d axis voltage, electrical-frequency is theelectrical frequency, PM_Flux_Linkage is the flux linkage of thepermanent magnet, and angle_error is the error in angle of the motorthat is being determined.

The rotational speed of the permanent magnet electric motor is alsoproportional to electrical frequency according to:RPM=(electrical frequency/pole-pairs)*(30/pi).  (2)

Where RPM is the rotational frequency of the motor's rotor, andpole-pairs are a constant of the motor.

Knowing the motor speed and d axis voltage allows their ratio to becalculated as:Vd/rpm=pole-pairs*PM_Flux_Linkage*(pi/30)*sin(angle_error)  (3)

If the angle error is zero, then Vd should be zero as well. Positiveerror results in positive Vd and negative error results in negative Vd,either of which means that the sensor 124 has a position offset thatmust be corrected. That error can be determined by rearranging equation(3) and averaging Vd and RPM values to reduce error as:Error=sin−1((avg(Vd/RPM))/(pole-pairs*(pi/30)*PM_Flux_Linkage)).  (4)

Thus a correction for the offset angle of the electric motor 120 can bedetermined.

Referring to FIG. 4, a flow chart 400 of the performance manager 102 ispresented that represents one arrangement for calculating the correctionfor the offset angle for of the electric motor 120. As provided in thefigure, operations initiate with a Boolean variable representing whetherthe offset has been calibrated (e.g., OffsetCalibrated) being set at adefault False value, step 402. Whenever this value is False, the vehicleperformance manager 102 sends zero current to (e.g., requests zerotorque from) the electric motor 120, so that the error can becalibrated.

Next, and while the vehicle is under operation with torque supplied fromthe combustion engine but still no current applied to the electric motor120, vehicle data including rpm of the electric motor 120 and thevoltage Vd are received by the performance manager 102, step 404. Theseparameters may be received by the performance manager 102 from one ormore sensors, subsystems, etc. on-board the vehicle. In particular,sensor 124 on the electric motor can be a sensor that measures rpm andposition of the rotating motor shaft relative to the stator orstationary part of the motor. Upon receiving the vehicle data, thevehicle performance manager 102 calculates a ratio of the parameters,step 406. For example, a ratio Vd/rpm is calculated. This value can becalculated after a single rotation or averaged over multiple (e.g., twoor more) rotations. The number of rotations can vary in specificimplementations. For example, a first vehicle or vehicle type performsstep 406 after two rotations, while a second vehicle or vehicle typeperforms step 406 after 10 rotations. Step 406 can be carried out underdifferent conditions (different number of rotations, different speed ofvehicle, etc.).

The rpm of the electric motor is directly related to the speed ofvehicle since the drive shaft is connected to the vehicle tires whichare in contact with the road. At step 408 the vehicle performancemanager 102 determines if the rpm (or averaged rpm) is within a desiredthreshold, as the vehicle must be going fast enough to get measurablevoltage. For example, the lower threshold might be 100 rpm. The upperthreshold is significantly higher, e.g., 1600 rpm. Both lower and upperthresholds can be different for each vehicle type and application. Asthe upper threshold is so high, effectively step 408 is reached once thelower threshold is crossed. These conditions can be met in as little as20 ft. of vehicle travel at less than 10 mph. If the rpm value isoutside the threshold, the process returns to step 404 to continuereceiving Vd and rpm. If the threshold is met, at step 410 the systemchecks if a pre-determined averaging time (e.g., 1 second, 10 seconds)has been met. If not, the method returns to step 404 to continuereceiving Vd and rpm. If the averaging time has elapsed, at step 412 thesystem calculates the angle error according to the equations above.

The performance manager 102 continues to monitor the calculated angleerror and if it is within a pre-determined tolerance range (e.g. 1electrical degree), step 414, the controller sets and saves theOffsetCalibrated Boolean variable as True, step 416. If it is not withinthe tolerance, the system repeats the angle error adjustment processuntil it is within the tolerance. Once step 416 has been completed, thesystem saves the calculated error angle, step 418, for use with furthercalculations and performance management of the system, e.g., bysubtracting the calculated error angle from the previous offset angleadjustment. Once the OffsetCalibrated variable is set to True the systemoperates normally and can request non-zero torque from the motor.

The non-volatile OffsetCalibrated variable can be reset to False anytimeto re-calibrate the motor. For example, these steps can be carried outat motor setup, or if the motor is adjusted (e.g., serviced) or altered.In some instances, these steps can be performed if error reports fromvehicle are being received. For example, the off-vehicle performanceanalyzer 214 may use information from the vehicle (e.g., collectedperformance data) to determine if one or more performance metrics of thevehicle, comparison metrics, etc., are not within desired operatingconditions. In such a case a trigger signal can initiate a diagnosticprocedure that includes performing the steps of flow chart 400 todetermine if the previously calculated angle offset is wrong. A remotecommand can be sent to the truck 210 to reset the offset, effectivelymanually re-running the calibration.

Referring to FIG. 5, a flowchart 500 represents operations includingthose of a computing device, such as a controller (e.g., the controller104 shown in FIG. 1) executing the functions of a vehicle performancemanager 102 (also shown in FIG. 1). Operations begin with the vehiclemoving forward with the combustion engine engaged and no currentprovided to the electric motor. For example, the combustion engine canmove the vehicle forward at a low speed, such as less than 20 mph for ashort distance, such as 20 ft. At step 502 one or more signalsrepresenting the angular speed (rpm) of the motor are received. Step 504includes receiving data representative of the Vd of the motor. The rpmreceived is compared to a threshold at step 506. Operations may alsoinclude calculating 508 a motor offset based on the one or more receivedrpm and Vd of the vehicle. Once an offset is calculated, operations mayfurther include saving data representing the calculated offset andsaving a Boolean or binary indication representing the calibrated statusof the motor as being true, step 510. This can be transmitted to avehicle information service provider located internal and/or externalfrom the vehicle. Other parameters transmitted may represent informationsuch as vehicle speed, component temperature, brake pedal position,acceleration, fuel consumption, etc. and may be received from one ormore sensors located onboard a vehicle or from other informationsources.

FIG. 6 shows an example computer device 600 and example mobile computerdevice 650, which can be used to implement the techniques describedherein. For example, a portion or all of the operations of aninformation manager (e.g., the vehicle performance manger 102 shown inFIG. 1) and/or a vehicle analyzer (e.g., the performance analyzer 214shown in FIG. 2) may be executed by the computer device 600 and/or themobile computer device 650. Computing device 600 is intended torepresent various forms of digital computers, including, e.g., laptops,desktops, workstations, personal digital assistants, servers, bladeservers, mainframes, and other appropriate computers. Computing device650 is intended to represent various forms of mobile devices, including,e.g., personal digital assistants, cellular telephones, smartphones, andother similar computing devices. The components shown here, theirconnections and relationships, and their functions, are meant to beexamples only, and are not meant to limit implementations of thetechniques described and/or claimed in this document.

Computing device 600 includes processor 602, memory 604, storage device606, high-speed interface 608 connecting to memory 604 and high-speedexpansion ports 610, and low speed interface 612 connecting to low speedbus 614 and storage device 606. Each of components 602, 604, 606, 608,610, and 612, are interconnected using various busses, and can bemounted on a common motherboard or in other manners as appropriate.Processor 602 can process instructions for execution within computingdevice 600, including instructions stored in memory 604 or on storagedevice 606, to display graphical data for a GUI on an externalinput/output device, including, e.g., display 616 coupled to high speedinterface 608. In other implementations, multiple processors and/ormultiple buses can be used, as appropriate, along with multiple memoriesand types of memory. Also, multiple computing devices 600 can beconnected, with each device providing portions of the necessaryoperations (e.g., as a server bank, a group of blade servers, or amulti-processor system).

Memory 604 stores data within computing device 600. In oneimplementation, memory 604 is a volatile memory unit or units. Inanother implementation, memory 604 is a non-volatile memory unit orunits. Memory 604 also can be another form of computer-readable medium,including, e.g., a magnetic or optical disk.

Storage device 606 is capable of providing mass storage for computingdevice 600. In one implementation, storage device 606 can be or containa computer-readable medium, including, e.g., a floppy disk device, ahard disk device, an optical disk device, a tape device, a flash memoryor other similar solid state memory device, or an array of devices,including devices in a storage area network or other configurations. Acomputer program product can be tangibly embodied in a data carrier. Thecomputer program product also can contain instructions that, whenexecuted, perform one or more methods, including, e.g., those describedabove. The data carrier is a computer- or machine-readable medium,including, e.g., memory 604, storage device 606, memory on processor602, and the like.

High-speed controller 608 manages bandwidth-intensive operations forcomputing device 600, while low speed controller 612 manages lowerbandwidth-intensive operations. Such allocation of functions is anexample only. In one implementation, high-speed controller 608 iscoupled to memory 604, display 616 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 610, which can acceptvarious expansion cards (not shown). In the implementation, thelow-speed controller 612 is coupled to storage device 606 and low-speedexpansion port 614. The low-speed expansion port, which can includevarious communication ports (e.g., USB, Bluetooth®, Ethernet, wirelessEthernet), can be coupled to one or more input/output devices,including, e.g., a keyboard, a pointing device, a scanner, or anetworking device including, e.g., a switch or router (e.g., through anetwork adapter).

Computing device 600 can be implemented in a number of different forms,as shown in the figure. For example, it can be implemented as standardserver 620, or multiple times in a group of such servers. It also can beimplemented as part of rack server system 624. In addition or as analternative, it can be implemented in a personal computer (e.g., laptopcomputer 622). In some examples, components from computing device 600can be combined with other components in a mobile device (not shown)(e.g., device 650). Each of such devices can contain one or more ofcomputing device 600, 650, and an entire system can be made up ofmultiple computing devices 600, 650 communicating with each other.

Computing device 650 includes processor 652, memory 664, and aninput/output device including, e.g., display 654, communicationinterface 666, and transceiver 668, among other components. Device 650also can be provided with a storage device, including, e.g., amicrodrive or other device, to provide additional storage. Components650, 652, 664, 654, 666, and 668, may each be interconnected usingvarious buses, and several of the components can be mounted on a commonmotherboard or in other manners as appropriate.

Processor 652 can execute instructions within computing device 650,including instructions stored in memory 664. The processor can beimplemented as a chipset of chips that include separate and multipleanalog and digital processors. The processor can provide, for example,for the coordination of the other components of device 650, including,e.g., control of user interfaces, applications run by device 650, andwireless communication by device 650.

Processor 652 can communicate with a user through control interface 658and display interface 656 coupled to display 654. Display 654 can be,for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) oran OLED (Organic Light Emitting Diode) display, or other appropriatedisplay technology. Display interface 656 can comprise appropriatecircuitry for driving display 654 to present graphical and other data toa user. Control interface 658 can receive commands from a user andconvert them for submission to processor 652. In addition, externalinterface 662 can communicate with processor 642, so as to enable neararea communication of device 650 with other devices. External interface662 can provide, for example, for wired communication in someimplementations, or for wireless communication in other implementations.Multiple interfaces also can be used.

Memory 664 stores data within computing device 650. Memory 664 can beimplemented as one or more of a computer-readable medium or media, avolatile memory unit or units, or a non-volatile memory unit or units.Expansion memory 674 also can be provided and connected to device 850through expansion interface 672, which can include, for example, a SIMM(Single In Line Memory Module) card interface. Such expansion memory 674can provide extra storage space for device 650, and/or may storeapplications or other data for device 650. Specifically, expansionmemory 674 can also include instructions to carry out or supplement theprocesses described above and can include secure data. Thus, forexample, expansion memory 674 can be provided as a security module fordevice 650 and can be programmed with instructions that permit secureuse of device 650. In addition, secure applications can be providedthrough the SIMM cards, along with additional data, including, e.g.,placing identifying data on the SIMM card in a non-hackable manner.

The memory can include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in a data carrier. The computer program productcontains instructions that, when executed, perform one or more methods,including, e.g., those described above. The data carrier is a computer-or machine-readable medium, including, e.g., memory 664, expansionmemory 674, and/or memory on processor 652, which can be received, forexample, over transceiver 668 or external interface 662.

Device 650 can communicate wirelessly through communication interface666, which can include digital signal processing circuitry wherenecessary. Communication interface 666 can provide for communicationsunder various modes or protocols, including, e.g., GSM voice calls, SMS,EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, amongothers. Such communication can occur, for example, throughradio-frequency transceiver 668. In addition, short-range communicationcan occur, including, e.g., using a Bluetooth®, WiFi, or other suchtransceiver (not shown). In addition, GPS (Global Positioning System)receiver module 670 can provide additional navigation- andlocation-related wireless data to device 650, which can be used asappropriate by applications running on device 650.

Device 650 also can communicate audibly using audio codec 660, which canreceive spoken data from a user and convert it to usable digital data.Audio codec 660 can likewise generate audible sound for a user,including, e.g., through a speaker, e.g., in a handset of device 650.Such sound can include sound from voice telephone calls, recorded sound(e.g., voice messages, music files, and the like) and also soundgenerated by applications operating on device 650.

Computing device 650 can be implemented in a number of different forms,as shown in the figure. For example, it can be implemented as cellulartelephone 680. It also can be implemented as part of smartphone 682,personal digital assistant, or other similar mobile device.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include one or more computer programsthat are executable and/or interpretable on a programmable system. Thisincludes at least one programmable processor, which can be special orgeneral purpose, coupled to receive data and instructions from, and totransmit data and instructions to, a storage system, at least one inputdevice, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms machine-readable medium andcomputer-readable medium refer to a computer program product, apparatusand/or device (e.g., magnetic discs, optical disks, memory, ProgrammableLogic Devices (PLDs)) used to provide machine instructions and/or datato a programmable processor, including a machine-readable medium thatreceives machine instructions.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for presenting data to the user, and a keyboard and a pointing device(e.g., a mouse or a trackball) by which the user can provide input tothe computer. Other kinds of devices can be used to provide forinteraction with a user as well. For example, feedback provided to theuser can be a form of sensory feedback (e.g., visual feedback, auditoryfeedback, or tactile feedback). Input from the user can be received in aform, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a backend component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a frontend component (e.g., a client computerhaving a user interface or a Web browser through which a user caninteract with an implementation of the systems and techniques describedhere), or a combination of such backend, middleware, or frontendcomponents. The components of the system can be interconnected by a formor medium of digital data communication (e.g., a communication network).Examples of communication networks include a local area network (LAN), awide area network (WAN), and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

In some implementations, the engines described herein can be separated,combined or incorporated into a single or combined engine. The enginesdepicted in the figures are not intended to limit the systems describedhere to the software architectures shown in the figures.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications can be made without departing fromthe spirit and scope of the processes and techniques described herein.In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps can be provided, or steps can beeliminated, from the described flows, and other components can be addedto, or removed from, the described systems. Accordingly, otherembodiments are within the scope of the following claims.

What is claimed is:
 1. A computing device implemented method comprising: receiving one or more signals that represent an angular position of a rotor of a permanent magnet electric motor of a hybrid electric vehicle, the one or more signals being provided by a position sensor configured to measure the angular position of the rotor; receiving a signal representing a voltage from the permanent magnet electric motor, the voltage representing one or more magnetomotive force components of the permanent magnet electric motor; wherein the one or more signals that represent the angular position represent when zero current is supplied to the permanent magnet electric motor, and the signal representing the voltage represents when zero current is supplied to the permanent magnet electric motor; determining an error angle from a ratio of the voltage and an angular speed, wherein the angular speed is determined from the angular position, and wherein the error angle represents a misalignment of the position sensor; and initiating sending of the error angle to the hybrid electric vehicle to provide a control parameter to the hybrid electric vehicle, wherein the control parameter is usable to compensate for the misalignment of the position sensor.
 2. The method of claim 1, wherein the one or more signals further represent when a motion of the hybrid electric vehicle is supplied by an internal combustion engine.
 3. The method of claim 2, wherein current is not supplied to the permanent magnet electric motor when the error angle is greater than a threshold and current is supplied to the permanent magnet electric motor when the error angle is less than the threshold.
 4. The method of claim 1, wherein the error angle is determined from an averaged ratio of the voltage and the angular speed; wherein the averaged ratio is determined using more than one rotation of the rotor.
 5. The method of claim 4, wherein the error angle is determined from a number of pole pairs and a flux linkage of the permanent magnet electric motor.
 6. The method of claim 5, wherein the error angle is determined from a ratio of the averaged ratio with the number of pole pairs and the flux linkage.
 7. The method of claim 1, wherein receiving the one or more signals that represent the angular position is implemented by receiving a trigger signal sent to a performance manager of the hybrid electric vehicle.
 8. The method of claim 7, wherein the trigger signal is sent to the performance manager from a remote location.
 9. The method of claim 8, wherein the trigger signal is sent from a remote location when a performance parameter is identified in an error report from the vehicle.
 10. The method of claim 1, wherein the one or more signals that represent the angular position and the signal representing the voltage further represent when travel speed of the hybrid electric vehicle is within a range.
 11. A non-transitory computer-readable storage medium storing instructions that are executable by a processor, and upon such execution cause the processor to perform operations comprising: receiving one or more signals that represent an angular position of a rotor of a permanent magnet electric motor of a hybrid electric vehicle, the one or more signals being provided by a position sensor configured to measure the angular position of the rotor; receiving a signal representing a voltage from the permanent magnet electric motor, the voltage representing one or more magnetomotive force components of the permanent magnet electric motor; wherein the one or more signals that represent the angular position represent when zero current is supplied to the permanent magnet electric motor, and the signal representing the voltage represents when zero current is supplied to the permanent magnet electric motor; determining an error angle from a ratio of the voltage and an angular speed, wherein the angular speed is determined from the angular position, and wherein the error angle represents a misalignment of the position sensor; and initiating sending of the error angle to the hybrid electric vehicle to provide a control parameter to the hybrid electric vehicle, wherein the control parameter is usable to compensate for the misalignment of the position sensor.
 12. The non-transitory computer-readable storage medium of claim 11, wherein the one or more signals further represent when a motion of the hybrid electric vehicle is supplied by an internal combustion engine.
 13. The non-transitory computer-readable storage medium of claim 12, wherein current is not supplied to the permanent magnet electric motor when the error angle is greater than a threshold and current is supplied to the permanent magnet electric motor when the error angle is less than the threshold.
 14. The non-transitory computer-readable storage medium of claim 11, wherein the error angle is determined from an averaged ratio of the voltage and the angular speed over more than one rotation of the permanent magnet electric motor.
 15. The non-transitory computer-readable storage medium of claim 14, wherein the error angle is determined from a number of pole pairs and a flux linkage of the permanent magnet electric motor.
 16. The non-transitory computer-readable storage medium of claim 15, wherein the error angle is determined from a ratio of the averaged ratio with the number of pole pairs and the flux linkage.
 17. The non-transitory computer-readable storage medium of claim 11, wherein receiving the one or more signals that represent the angular position is implemented by receiving a trigger signal sent to a performance manager of the hybrid electric vehicle.
 18. The non-transitory computer-readable storage medium of claim 17, wherein the trigger signal is sent to the performance manager from a remote location.
 19. The non-transitory computer-readable storage medium of claim 18, wherein the trigger signal is sent from a remote location when a performance parameter is identified in an error report from the vehicle.
 20. The non-transitory computer-readable storage medium of claim 11, wherein the one or more signals that represent the angular position and the signal representing the voltage further represent when travel speed of the hybrid electric vehicle is within a range.
 21. A system comprising: a computing device comprising: a memory configured to store instructions; and a processor to execute the instructions to perform instructions comprising: receiving one or more signals that represent an angular position of a rotor of a permanent magnet electric motor of a hybrid electric vehicle, the one or more signals being provided by a position sensor configured to measure the angular position of the rotor; receiving a signal representing a voltage from the permanent magnet electric motor, the voltage representing one or more magnetomotive force components of the permanent magnet electric motor; wherein the one or more signals that represent the angular position represent when zero current is supplied to the permanent magnet electric motor, and the signal representing the voltage represents when zero current is supplied to the permanent magnet electric motor; determining an error angle from a ratio of the voltage and an angular speed, wherein the angular speed is determined from the angular position, and wherein the error angle represents a misalignment of the position sensor; and initiating sending of the error angle to the hybrid electric vehicle to provide a control parameter to the hybrid electric vehicle, wherein the control parameter is usable to compensate for the misalignment of the position sensor.
 22. The system of claim 21, wherein the one or more signals further represent when a motion of the hybrid electric vehicle is supplied by an internal combustion engine.
 23. The system of claim 22, wherein current is not supplied to the permanent magnet electric motor when the error angle is greater than a threshold and current is supplied to the permanent magnet electric motor when the error angle is less than the threshold.
 24. The system of claim 21, wherein the error angle is determined from an averaged ratio of the voltage and the angular speed over more than one rotation of the permanent magnet electric motor.
 25. The system of claim 24, wherein the error angle is determined from a number of pole pairs and a flux linkage of the permanent magnet electric motor.
 26. The system of claim 25, wherein the error angle is determined from a ratio of the averaged ratio with the number of pole pairs and the flux linkage.
 27. The system of claim 21, wherein receiving the one or more signals that represent the angular position is implemented by receiving a trigger signal sent to a performance manager of the hybrid electric vehicle.
 28. The system of claim 27, wherein the trigger signal is sent to the performance manager from a remote location.
 29. The system of claim 28, wherein the trigger signal is sent from a remote location when a performance parameter is identified in an error report from the vehicle.
 30. The system of claim 21, wherein the one or more signals that represent the angular position and the signal representing the voltage further represent when travel speed of the hybrid electric vehicle is within a range. 